package com.itlong.cloud.enumerate;


import lombok.Getter;

/**
* <desc>
*    手机APP设备类型. 1-android,2-iOS
* </desc>
*
* @createDate 2017-11-08
*/
public enum APPDeviceTypeEnum {

    ANDROID("android",1),
    IOS("iOS",2);

    @Getter
    private Integer type;  //设备类型

    @Getter
    private String description;  //设备类型描述（名称）


    /**
     * <desc>
     * 构造函数.
     * </desc>
     *
     * @param type        设备类型
     * @param description 设备类型描述（名称）
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    APPDeviceTypeEnum(String description,Integer type) {
        this.description = description;
        this.type = type;
    }


    /**
     * <desc>
     * 根据设备类型获取描述（名称）.
     * </desc>
     *
     * @param type 设备类型
     * @return 设备类型描述（名称）
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    public static String getDescription(int type) {
        APPDeviceTypeEnum[] types = APPDeviceTypeEnum.values();
        for (APPDeviceTypeEnum appDeviceTypeEnum : types) {
            if (appDeviceTypeEnum.getType() == type) {
                return appDeviceTypeEnum.getDescription();
            }
        }
        return "";
    }


    /**
     * <desc>
     * 根据设备描述（名称）获取类型.
     * </desc>
     *
     * @param description 设备类型描述（名称）
     * @return 设备类型
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    public static Integer getType(String description) {
        APPDeviceTypeEnum[] types = APPDeviceTypeEnum.values();
        for (APPDeviceTypeEnum appDeviceTypeEnum : types) {
            if (appDeviceTypeEnum.getDescription().equalsIgnoreCase(description)) {
                return appDeviceTypeEnum.getType();
            }
        }
        return ANDROID.getType();
    }
}
